In Game Commands 
==== Terms used here: ====
* OnTime = Time on the server.  (The epoch event is the first time that OnTime service is installed and started on the server.)
* //current OnTime// = Time on the server since last login event.
* //today OnTime// = Time on the server for the current day (since midnight)
* //total OnTime// = Time on the server since the first login.

== General Usage: ==
=== /ontime [keyword] <parameters> [keyword]===
\\
\\
== Player Commands: ==
=== /ontime ===
>	Provides the sender with their //current OnTime//, //daily/weekly OnTime//, and //total OnTime//. 

=== /ontime help ===
>	Provides the sender with a list of available OnTime commands according to their permission settings.

=== /ontime top <#> ==
>	Provides the sender with a list of players ranked by //total OnTime//.  The number of players to include in the list must be specified <#>.

\\
\\
== Player/Admin Commands: ==
=== /ontime <player name> ===
> This provides the sender with the # days on, # different days, last login, //current OnTime, daily/weekly OnTime, and total OnTime//, and next scheduled reward for the specified player.  If the player is online then shortened versions of the ID can be used.  If offline the complete player name must be specified. 

=== /ontime top <#> [login/today/week] ===
> Provides the sender with a list of players ranked by //total OnTime//.  The number of players to include in the list must be specified <#>. The additional [login] keyword indicates that the last login time stamp of the player should also be displayed.  The additional [today] or [week] keywords indicates that the players //daily/weekly OnTime// should also be displayed.  Both 'login' and 'today/week' cannot be used in a single command.  'today' or 'week' are valid based on the OnTime configuration for the periodic tracking.

=== /ontime online [total] ===
> Provides the sender with a list of players that are currently online showing their //total OnTime//.  This is the default if neither current nor total is specified after the online keyword.

=== /ontime online current ===
> Provides the sender with a list of players that are currently online showing their //current OnTime//.  

=== /ontime today <#>
> Provides the sender with a list of players ranked by //today OnTime//.  The number of players to include in the list must be specified <#>.  This command is only valid if OnTime is configured for DAILY reporting.

=== /ontime week <#>
> Provides the sender with a list of players ranked by //this week's OnTime//.  The number of players to include in the list must be specified <#>.  This command is only valid if OnTime is configured for WEEKLY reporting.

\\
\\
\\
== Admin Commands: ==

===/ontime add <userid> <dd> <hh> <mm>==
> Will add to the players current //total OnTime// the time specified by <dd>=days, <hh>=hours, and <mm>=minutes.  

=== /ontime report ===
> Generates a report (.txt or .htm) file in the /plugin/ontime directory containing a list of players in the OnTime data files, showing //total OnTime// and timestamp of last login, ordered by //total OnTime//.  The file name includes the date of the report generation request.
\\
> Also generates a report (.txt or .htm) file in the same directory containing a list of players on the server for the current day or week, ordered by //daily or weekly OnTime//.  This file name includes the date of the data included in the report.
\\
> Previous versions of report files will be overwritten.
> The format (.txt vs .htm) and reporting period (daily vs weekly) are both set via the /OnTime config.yml//.

=== /ontime save ===
> Performs a forced save of in-memory data to disk storage files.   (Configuration allows for scheduled saves to occur, and a save is always done on server shutdown.)

===/ontime set [days/total] <userid> <dd> {<hh> <mm>}==
> 'set total' will set the player's //Total OnTime// to the time specified by <dd>=days, <hh>=hours, and <mm>=minutes. 
> 'set days' will set the player's //different days on// to the number of days specified by <dd>

===/ontime remove <userid>==
> Removes the specified user from the //OnTime// data files.  This can only be run for offline players.

=== /ontime rewards list [<#>] === 
>//shorthand: '/ontime rw l [<#>]'//

> List the currently configured //OnTime Rewards//.  Nine levels will be listed per 'page'. Additional pages can be displayed by entering optional page number (<#>).  Page 1 is shown by default.

===/ontime rewards add [econ/item/group/perm/command] {parameters see below}
> Adds a new //OnTime Reward// level to the reward set.  When a player with permission to receive //OnTime Rewards// reaches the point where their Total OnTime equals the duration specified, they will be automatically issued the reward specified.  The remainder of the format of the command depends on the type of reward as follows:

=== Economics Reward
====/ontime rewards add econ <dd> <hh> <mm> <amount>

> The //reward time// is specified as <dd> = days, <hh> = hours, and <mm> = minutes.  <amount> is the size of the economics award granted.

Example: To add a new reward of $100 when a player has been on the server for 1 day: 
>**>ontime rewards add 1 0 0 100**

=== Item Reward
====/ontime rewards add item <dd> <hh> <mm> <quantity> [<item ID>/<item name>]
> The //reward time// is specified as <dd> = days, <hh> = hours, and <mm> = minutes.  <quantity> is the number of the items to give the player.  The MC item can be specified by Item ID or Item Name.

Example: To add a new reward of 2 Diamonds when a player has been on the server for 1 day 12 hours: 
>**>ontime rewards add 1 12 0 2 DIAMOND**

=== Group Reward
====/ontime rewards add group <dd> <hh> <mm> <group name>
> The //reward time// is specified as <dd> = days, <hh> = hours, and <mm> = minutes.  <group name> is the name of the permissions group to which the player should be assigned at the specified time.

Example: To add a new reward of group change to 'Builder' when a player has been on the server for 1 hour: 
>**>ontime rewards add 0 1 0 Builder**

=== Permission Reward
====/ontime rewards add perm <dd> <hh> <mm> <permission>
> The //reward time// is specified as <dd> = days, <hh> = hours, and <mm> = minutes.  <permission> is the permission string to be added to the player's permission list at the specified time.

Example: To add a new reward of permission add of 'ontime.other' when a player has been on the server for 1 day and 1 hour: 
>**>ontime rewards add 1 1 0 ontime.other**

=== Command Reward
====/ontime rewards add command <dd> <hh> <mm> <commandID>
>//shorthand: '/ontime rw add cmd <dd> <hh> <mm> <commandID>'//

> The //reward time// is specified as <dd> = days, <hh> = hours, and <mm> = minutes.  <commandID> is the command identifier defined in the rewards.yml file for execution.

Example: To award 100 XP when a player has been on the server for 3 day and 1 hour: 
>**>ontime rewards add 3 1 0 xp100**
NOTE: This requires 'xp100' to be defined in the rewards.yml file.

=== /ontime rewards next === 
>//alternative: '/ontime online next' //
\\
>Displays the time until and value of the next reward to be issued to each player currently online.

=== /ontime rewards recur <rewardID> <hh> <mm> <ss>
>Makes an existing reward a recurring reward at the interval specified by <dd> = days, <hh>=hours, <mm>=minutes.  The rewardID is the order number provided by the '/ontime rewards list' command.
>This is only applicable to econ, item and command reward types.

=== /ontime rewards remove <#> === 
>//shorthand: '/ontime rw rm <#>'//

>Removes/deletes the specified (<#>) //OnTime Reward// from the reward set.  The <#> is the reward order number displayed in the '/ontime reward list' command output.  Please note that new 'order numbers' are reassigned after each removal, so be careful when removing rewards at one time.

=== /ontime rewards single <rewardID>
>Makes an existing reward a single occurrence reward.  The rewardID is the order number provided by the '/ontime rewards list' command.

=== /ontime test login <player name> <time offset> ===
> Adds a player to the OnTime data.  <time offset> can be a positive or negative number.  

>If <time offset > is positive the player login time stamp will be <time offset> **hours** prior to the current (command execution) time, and their //total OnTime// will be set to <time offset> hours. 

>If <time offset > is negative the player login time stamp will be <time offset> **days** prior to the current (command execution) time, and their //total OnTime// will still be set to <time offset> hours. 

>If <time offset> is zero the player login time stamp will be the current (command execution) time, and their //total OnTime// will be still be set to zero.

>This was originally added for development purposes, but I thought it might have some use on a player server.  (Make your server look more popular that it really is . ;-)) 

=== /ontime test yesterday===
> This will change the 'day' for the recorded //today OnTime // data to the previous day.  After this is done the next player login/quit event or server reset may result in the auto generation of a 'daily/weekly' report, and clearing of the daily data file for a 'new' day/week.
